/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved.
 */
package com.icinfo.cloud.provider.punish.config.service;

import com.icinfo.cloud.provider.punish.config.dto.ConfigBusiParamMainDto;
import com.icinfo.cloud.provider.punish.config.dto.ConfigBusiParamMainPageRequest;
import com.icinfo.cloud.provider.punish.config.dto.ConfigBusiParamMainUseRequest;
import com.icinfo.cloud.provider.punish.config.dto.RelationWorkflowInfoRequest;
import com.icinfo.cloud.provider.punish.config.model.ConfigBusiParamMain;
import com.icinfo.cloud.provider.punish.config.vo.ConfigBusiParamMainVo;
import com.icinfo.framework.common.web.Result;
import com.icinfo.framework.core.service.BaseService;

import java.util.List;
import java.util.Map;

/**
 * 描述: 业务参数配置主表 config_busi_param_main 对应的Service接口.<br>
 *
 * @author framework generator
 * @date 2022年02月22日
 */
public interface IConfigBusiParamMainService extends BaseService {
    /**
     * 参数配置分页列表
     * @author liyafeng
     * @date 2022/2/22
      * @param request
     * @return {@link List< ConfigBusiParamMainVo>}
     */
    List<ConfigBusiParamMainVo> getConfigBusiParamMainVoList(ConfigBusiParamMainPageRequest request);
    /**
     * 保存参数配置
     * @author liyafeng
     * @date 2022/2/23
      * @param configBusiParamMainDto
     * @return {@link Result< String>}
     */
    Result<String> saveConfigBusiParamMainDto(ConfigBusiParamMainDto configBusiParamMainDto);

    /**
     * 修改参数配置
     * @author liyafeng
     * @date 2022/2/23
     * @param configBusiParamMainDto
     * @return {@link Result< String>}
     */
    Result<String> editConfigBusiParamMain(ConfigBusiParamMainDto configBusiParamMainDto);
    /**
     * 修改启用状态
     * @author liyafeng
     * @date 2022/2/23
      * @param param
     * @return {@link Result< String>}
     */
    Result<String> editUse(ConfigBusiParamMainUseRequest param);
    /**
     * 获取参数配置详情
     * @author liyafeng
     * @date 2022/2/23
      * @param id
     * @return {@link Result< ConfigBusiParamMain>}
     */
    Result<ConfigBusiParamMain> getDetail(String id);
    /**
     * 根据领域编码、区划编码获取工作流信息
     * @author liyafeng
     * @date 2022/3/5
      * @param
     * @return {@link ConfigCaseFlowMainInfo}
     */
    Map<String,Object> getRelationWorkflowInfo(RelationWorkflowInfoRequest request);

    /**
     * 获取参数配置信息
     *
     * @param request 请求
     * @return {@link List<ConfigBusiParamMain> }
     * @author shishengyao
     * @date 2022/05/18
     */
    List<ConfigBusiParamMain> getConfigBusiParamMainList(RelationWorkflowInfoRequest request);

}
